design_iir_filter Subroutine

public pure subroutine design_iir_filter(n, fc, fs, b, a, ftype)

Designs an nth-order Butterworth IIR low-pass or high-pass filter.

The returned coefficients are normalized such that a(1) is one and use the increasing-delay convention required by filter.

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: n

The Butterworth filter order.

real(kind=real64), intent(in) :: fc

The cutoff frequency, in Hz.

real(kind=real64), intent(in) :: fs

The sampling frequency, in Hz.

real(kind=real64), intent(out), allocatable :: b(:)

The numerator coefficients of the designed filter.

real(kind=real64), intent(out), allocatable :: a(:)

The denominator coefficients of the designed filter.

integer(kind=int32), intent(in), optional :: ftype

LOW_PASS_FILTER (default) or HIGH_PASS_FILTER.